Method and apparatus for high resolution decoding of encoded symbols

ABSTRACT

A method for scanning and decoding encoded symbols comprises processing low resolution image data from a full field of view and/or high resolution image data from one or more windowed segments of the field of view to provide imaging that is easily adaptable to different types of symbols and varying environmental conditions. The scanning method can be switched between the low resolution mode and the high resolution mode automatically based on whether the low resolution data is sufficiently accurate to decode the symbol.

This application is a continuation of U.S. patent application Ser. No. 12/505,077, titled “Method and Apparatus for High Resolution Decoding of Encoded Symbols,” filed on Jul. 17, 2009, which is a continuation of U.S. patent application Ser. No. 10/911,209, titled “Method and Apparatus for High Resolution Decoding of Encoded Symbols,” filed Aug. 4, 2004, the entire contents of both are incorporated herein by reference.

BACKGROUND OF THE INVENTION

The present invention relates to scanning devices for decoding symbols, and more particularly to a method for decoding symbols using a high resolution image sensor.

Encoded symbols such as ID bar codes, 2D bar codes and symbols, such as data matrixes, are commonly found in retail, industrial, and other applications for identifying labeled goods, products, or components. Bar codes are symbols that comprise a series of alternating white and black elongated bars or modules which are aligned to define a code. Data matrixes comprise a plurality of black and white cells which are arranged in a two dimensional code. Both of these types of codes, as well as various other symbols known in the art, can be found in applications for identifying goods, applied either to a label or printed directly on a part or component.

Devices for reading encoded symbols typically employ an illumination device for shining light on the symbol and a camera module for detecting the reflected light. The camera module typically has a fixed focal distance and a fixed aperture, providing a fixed field of view (FOV). The sensor in the camera module is arranged as an array of pixels defined by a row and column location in the sensor, and typically employs a low resolution sensor having a VGA resolution of about 640×480 pixels. In operation, the scanning device illuminates the symbol, and the camera module detects image data as reflected light from the illuminated area in the field of view. A decoding algorithm is employed to decode the symbol based on the acquired data.

The decoding algorithms used in these devices require a certain number of pixels per symbology element bar or cell for accurate decoding. When the FOV is fixed, as is typically found in current devices, there is therefore a direct relationship between the resolution of the sensor (in pixels per row/column) and the smallest readable code (measured in mm/module for bar codes and mm/cell for matrix codes). To provide the appropriate resolution, and both fast and accurate decode times for different types of symbols, readers are therefore typically specialized for a specific application and include lenses and/or focal distances which are fixed based on the expected application and the expected type of symbol to be read.

These specialized devices are useful for work stations where a single type of symbol is expected to be read under stable environmental conditions. However, it is often desirable to read different types of marks at a single station. To allow for reading of different types of symbols under varying environmental conditions, therefore, handheld readers are also available which use autofocus or bifocal lenses. These devices extend the reading range of the scanning device and therefore provide a variety of magnifications, thereby providing more versatile scanning capable at reading different types of symbols. Scanning devices including autofocus and bifocal lenses, however, can also be expensive and difficult to use. Autofocus and bifocal devices, for example, are highly dependent on the skill of the operator, as the operator must manually position the reader depending on the type of code being read. Furthermore, as the reader is moved further away, proper illumination of the symbol becomes problematic, rendering accurate reading difficult. These devices, therefore, require frequent re-positioning, are time-consuming to use, and can also be inaccurate.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

FIG. 1 is a perspective view of a scanning system including a scanning device and host computer.

FIG. 2 is an exploded view of the scanning device of FIG. 1.

FIG. 3 is a block diagram of a control system for the scanning device of FIG. 2.

FIG. 4 is a simplified view of the image sensor of FIG. 3.

FIG. 5 is a flow chart illustrating the steps for decoding a symbol in accordance with one embodiment of the invention.

FIG. 6 is a view of the simplified image sensor of FIG. 4 illustrating a low resolution image acquisition of a partial read of the full field of view.

FIG. 7 is a view of the simplified image sensor of FIG. 4 illustrating windowing based on a finder pattern.

FIG. 8 is a view of the sensor of FIG. 4 illustrating windowing for a high resolution data set including all of the pixels in a portion of the field of view.

FIG. 9 is a flow chart illustrating a second embodiment of the invention.

FIG. 10 is a flow chart illustrating a third embodiment of the invention.

BRIEF SUMMARY OF THE INVENTION

In one aspect, the present invention provides a method for decoding an encoded digital symbol with a digital scanner which is useful for decoding various types of symbols in various environmental conditions. Initially, a low resolution image data set of a field of view including the symbol is acquired, and evaluated to attempt to decode the symbol. If the symbol is not decoded in the first step, a high resolution image data set of at least a portion of the field of view is acquired and, again, evaluated to determine if it can be decoded. If the symbol is again not decoded, additional high resolution image data sets of windowed portions of the field of view are acquired until the symbol is decoded.

In another aspect of the invention, a method for decoding an encoded digital symbol with a digital scanner is provided. Here, a high resolution image data set of a field of view of the scanner is acquired and stored. The data set is then sub-sampled and the resultant low resolution image data set is evaluated in an attempt to decode the symbol. If the decode attempt does not succeed, windowed portions of the high resolution image data set are selected and evaluated, windowing as appropriate until the symbol is decoded.

In yet another aspect of the invention, a digital scanner device is provided for decoding an encoded digital symbol. The scanner includes an illuminator for illuminating a field of view including the encoded digital symbol, a sensor comprising a plurality of pixels for detecting reflected light from the encoded digital symbol and to provide an electrical signal when light is detected, and a controller connected to the sensor to selectively read at least one of the pixels into an image data acquisition set. The controller is programmed to acquire a low resolution image data set by reading a subset of the pixels in the sensor distributed through the field of view, evaluate the low resolution image data set to decode the symbol, and, when the evaluation does not decode the symbol, to acquire a high resolution image data set by reading a full set of the pixels in a selected portion of the field of view. The high resolution image data set is then evaluated to decode the symbol and, when the evaluation of the high resolution image data set does not decode the symbol, reposition the selected portion of the field of view and acquiring and analyzing additional data sets until the symbol is decoded.

In still another aspect of the invention, a method for analyzing image data is provided. The method comprises the steps of analyzing a sub-sampled image data set of the field of view for a selected image parameter, and, if the image parameter is not found, analyzing a fully sampled portion of a certain field of view for the image parameter. If the image parameter is not found in the fully sampled portion, windowing through the data and analyzing a different fully sampled portion of the field of view for the image parameter until the parameter is identified.

In yet another aspect of the invention, a digital scanner for decoding symbols is provided including an image sensor comprising an array of pixels for imaging the symbol and a controller connected to the sensor to analyze image data acquired by the sensor. The controller is programmed to selectively acquire and decode low resolution image data comprising a sub-sampling of pixels in the field of view, acquire and decode high resolution image data comprising a full sampling of pixels in at least a portion of the field of view, acquire low resolution image data and switch to acquire high image resolution data when decoding of the low resolution image data fails.

These and other aspects of the invention will become apparent from the following description. In the description, reference is made to the accompanying drawings which form a part hereof, and in which there is shown a preferred embodiment of the invention. Such embodiment does not necessarily represent the full scope of the invention and reference is made therefore, to the claims herein for interpreting the scope of the invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

Referring now to the figures and more particularly to FIG. 1, a handheld digital scanning device 10 useful for performing the present invention is shown. The digital scanning device 10 is provided in a housing 12 having a body section 16 and a grip section 14. The body section 16 provides illumination from a distal end to illuminate a symbol such as a bar code or data matrix, as described below. A moveable trigger 15 provided on the housing 12 is selectively activated by an operator to provide a start signal to an internal processor to illuminate and decode the symbol. A visual or audio indicator, such as an indicator light or buzzer, can also be provided to alert the user when a symbol has been decoded. Typically, the scanning device 10 is connected through a cable 53 to a host computer 50 which receives decode data.

Referring now to FIG. 2, an exploded view of the digital scanning device 10 of FIG. 1 is shown. A power supply board 20 is provided in the grip section 14 and provides power to a CPU board 22, a camera or CAM board 24, and an illumination board 28 which are mounted in the body section 16 of the scanning device 10. An illumination pipe 26 is coupled between the CAM board 24 and the distal end of the body portion 16 of the digital scanner 10, and includes a recessed end 27 sized and dimensioned to receive the illumination board 28 which, as described more fully below, includes a plurality of lighting elements such as light emitting diodes or LEDs 46 arranged in a ringed configuration to provide dark field illumination. Although the illumination board 28 is shown arranged at the end of the illumination pipe 26, a “passive” illumination pipe 26, which receives light at a first end adjacent the CAM board 24 and transmits the light through the illumination pipe 26, can also be used, as described in co-pending application Ser. No. 10/693,626 filed Oct. 24, 2003 which is incorporated herein by reference for its description of such devices.

Referring now also to FIG. 3 the power supply board 20 includes a power supply 30 for providing logic level power to components in the scanner 10 including the CPU board 22, the CAM board 24, and the illumination PC board 28. As the power supply board 20 is provided in the grip portion 14 of the scanning device 10, a switching element 40 activatable by the trigger 15 (FIG. 1) is provided on the power supply board 20 for receiving a user-input signal requesting a scan. The power supply board 20 further includes a transmitter and receiver 32 for transmitting and receiving information from the host system 50 which, as described above, can be connected to the scanning device 10 to receive decode information from the digital scanning device 10, and to transmit data to the scanning device 10. The transmitter/receiver 32 can be any of a number of different types of communication devices including an RS 232 connection to the host system 50 or a PS2 connection which can be connected to a wedge between the keyboard 52 and the host system 50. Various other wired and wireless communication systems, which will be apparent to those of skill in the art, could also be used.

Referring still to FIG. 3, the central processing unit or CPU board 22 includes a microprocessor or controller 38, and a memory component 34 which can include both random access memory and read only memory. The controller 38 is connected to the memory component 34 for storing data to and retrieving data from memory, to the power supply board 30 for transmitting signals to and receiving signals from the host system 50 through the transmitter/receiver 32 and the receiving a start scan signal from the switch 40, to the CAM board 24 to receive acquired image data and to operate bright field illumination 44, as described below, and to the illumination PC board 28 for driving the light elements 46 to provide dark field illumination to a symbol to be scanned, also as described more fully below. Although direct connections are shown between the controller 38 and various other elements, it will be apparent that various I/O device, A/D converters, and other elements can also be provided for implementing communication between the various circuit boards.

Referring still to FIG. 3 and also to FIG. 4, the CAM board 24 includes an image acquisition sensor 42 which detects light reflected from a symbol such as a barcode or a data matrix, along with a lens 25 and other optical elements. The image acquisition sensor 42 is a high resolution sensor, and preferably a CMOS sensor having a resolution of at least a 1280×1024 provided in an array of pixels 62 arranged in rows and columns. The sensor 42 can be provided on a single chip including row select logic 64 and a column readout device 66 which provides selective access to the individual pixels 62 within the array, and can also include acquisition hardware elements for selectively sub-sampling the array and windowing portions of the array. Although a number of suitable chips are commercially available, one image sensor component suitable in this application is the megapixel sensor sold as part number LM9638 from National Semiconductor of Santa Clara Calif. A bright field illumination element 44, such as an LED, can also be provided on the CAM board 24 and can be activated by the controller 38 independently of or in conjunction with the dark field illumination 46 provided on the illumination board 28.

Referring again to FIGS. 2 and 3, as described above, the illumination PC board 28 includes a plurality of light emitting diodes or LEDs 46 arranged in a ring configuration which, as shown, is circular. The LEDs 46 are connected to the power supply 20 and to the CPU board 22 such that the controller 38 can selectively control the LEDs 46, either individually, as a group, or in connected segments, to provide illumination from the scanning device 10. Although a circular ring array is shown here, the light elements provided in the illumination PC board 28 can be arranged in various configurations, and the term ring is intended to include various polygonal, rectangular, square, oval, and other configurations.

Referring again to FIG. 4, a simplified schematic illustration of an image acquisition sensor 42 is shown. As described above, the image acquisition sensor 42 comprises an array of pixels 62 which are arranged in a row and column configuration and which are selectively accessible by controller 38 (FIG. 3) through row select logic 64 and a column readout 66. A full field of view (FOV) typically includes all of the pixels 62 in the array of the image sensor 42. As described below, various portions of the image acquisition sensor 42 array can be accessed and individually read out thereby providing the ability to select various portions of the array for imaging.

Referring again to FIGS. 2, 3, and 4, in operation, the trigger 15 on the scanning device 10 is activated by a user, activating the switch 40 on the power supply board 20, and providing a control signal to the controller 38 to activate at least a portion of the LEDs 46 on the illumination board 28 and/or the bright field illumination 44 to illuminate a symbol to be decoded. Reflected light from the symbol is detected by the image acquisition sensor 42 on the CAM board 24, which has a fixed lens to provide a fixed focal distance. Image data acquired by the sensor 42 is read out by the controller 38, and can be processed or stored in the memory component 34 as a series of pixels 62. In accordance with the present invention image data from the high resolution sensor 42 is acquired or processed using subsets of pixels to provide improved processing speeds. These subsets can be, as described below, sub-sampled portions of the FOV in which a portion of the available pixels across the FOV are sampled, or windowed higher resolution data sets including all of the pixels acquired in a segment or portion of the FOV. By selectively processing reduced sets of data, high speed acquisition and decoding of image data can be achieved, and the scanning device can automatically adjust for varying symbology and environmental condition.

To provide a full range of capabilities, the digital scanning device 10 can, in some applications, be selectively operated in each of a low resolution mode, in which acquired data is sub-sampled over the entire FOV as described above, in a high resolution mode, in which acquired data is fully sampled over a portion of the field of view and subsequent acquisitions “window” through the field of view, and an automatic switching mode, as described with reference to FIGS. 5 and 8, below. Switching between the various modes can be provided, for example, by activating the trigger 15 repeatedly within a predetermined period of time, by adding an additional single position or multi-position switch to the scanning device 10, by selecting a mode from the keyboard 52 of the host computer 50, or in various other ways which will be apparent to those of skill in the art. Although a high resolution mode is described as employing a windowing process, a high resolution image could also be acquired for all of the pixels in the FOV.

Referring now to FIG. 5, one embodiment of a method for decoding the symbol in accordance with the present invention using automatic switching between low resolution and high resolution modes is shown. Here, after the trigger 15 is activated the initial set of image data acquired is a low resolution image data set in which the pixels 62 are sub-sampled such that data is acquired from a subset of the available pixels. The subset can include, for example, image data acquired from reading every other row and column of the array, as shown in FIG. 6 where the dark pixels 67 represent sampled pixels (step 68). The first low image resolution data set therefore includes image data for the full field of view (FOV) but sampled at partial, typically half resolution, providing a large but lower resolution image than would be available if data were acquired from all the pixels 62 in the image sensor 42. The half resolution image data set comprises each pixel that is read, a scan of both in every other row and every other column, resulting in a set of pixels which is one fourth cut the total number of pixels in the image.

In step 70, the controller 38 in CPU board 24 attempts to decode the low resolution image data set by applying a decode algorithm. In step 72 a determination is made as to whether the decode of the low resolution image data set has been successful. If the decode is successful, the process is complete, the CPU board 24 activates an indicator 36 indicating that a decode has been completed, and can also transmit decode data to the host system 50 (step 74). If the decode is not successful, the low resolution image data set is evaluated to determine whether a finder pattern or code, which provides symbol location information to the scanner can be located within the symbol being analyzed (step 76). If so, the finder pattern is used to set windowing parameters (step 78) for acquiring additional high resolution image data sets of the symbol which are smaller in size than the FOV, but which include most and preferably all, of the pixels 62 in at least a portion of the sensor 42, as shown schematically in FIG. 7. Here, the symbol is a data matrix having a finder pattern of a solid line along the left side and bottom of the symbol and the window 91 is positioned around the symbol.

If a finder pattern is not available, in step 80 default windowing parameters for selecting an initial the location for acquiring “windowed” high resolution image data is instituted. Referring now to FIG. 8, using these default parameters, for example, windowing will typically begin in the center 90 of the sensor 42 and continue to a second location 92 based on data acquired from the first window 90, which can include, as described above, a finder pattern for locating successive windows, a default set of windowing parameters, or identifying a portion of the symbol which allows repositioning of the window to the second location 92. Using any of these methods, the controller 38 attempts to zoom in on the symbol, and to decode the symbol using the acquired high resolution images, windowing through the FOV as appropriate in step 82, attempting to decode the symbol in step 83, changing the windowing parameters in step 85 until the image is decoded in step 84. When the symbol is decoded, the controller 38 again activates a user indicator to provide an indication to the operator that the symbol has been decoded, and/or downloads decode data to the host system 50.

Referring now to FIG. 9, a flow chart illustrating a second embodiment of the invention is shown, in which identical steps to those described above with reference to FIG. 5 are given like numbers. Here, a high resolution data set is initially acquired for the entire FOV in step 94. This high resolution image data set is stored in memory. The controller 38 initially retrieves a low resolution subset of the acquired data (step 96) which can be, for example, every other pixel 67 or alternate rows and columns of pixel data, as described above with respect to steps 72-80. If decode is not successful, processing continues by retrieving and windowing through high resolution sets of data (steps 85, 96 and 98), and processing of the data then continues as described above. Here, rather than acquiring successive sets of image data through hardware, as described above, sampling and windowing of the data is a software function.

The present invention therefore provides a scanning device which is capable of consistently reading a variety of symbols in a variety of environmental conditions without the need for the operator to adjust to either the symbol being scanned or the surrounding conditions. By employing a higher resolution sensor and processing smaller or lower resolution portions of the available pixels, the invention also provides fast processing of the data, particularly when the reduced image contains all the information needed to decode the symbol.

Referring now to FIG. 10, although the invention is described specifically above for use in decoding symbols, similar methods can be used for any type of image data for which imaging parameters can be defined and evaluated. Here, for example, a first low resolution image set comprising sub-sampled data over the FOV is acquired in step 100, and then analyzed for a selected parameter in step 102. If the parameter is found, the process is complete, and an indication of success can be provided (step 106). If the parameter cannot be found in the image data acquired, high resolutions images of windowed portions of the FOV re acquired (step 108), evaluated for the parameter (step 110), changing the window field of view (step 114) until the process is successful (step 112) or, in the alternative, until all of the data has been imaged at a high resolution. In alternate embodiments, successive sub-sampled, full FOV images could be acquired at varying levels of sampling, including, for example, a first step at a resolution of one quarter of the pixels, a second step at a resolution of one third of the pixels, and a third step at a resolution of half of the pixels. Similarly, windowing could be provided for successively larger or smaller portions of the FOV, or at successively increased sampling levels.

Therefore, although specific embodiments have been shown and described, it will be apparent that a number of variations could be made within the scope of the invention. For example, although a handheld scanner with specific hardware configuration has been described above, it will be apparent to those of ordinary skill in the art that many variations could be provided in the hardware and software described. Additionally, a fixed mount scanning device could also be used. Furthermore, although specific lighting conditions and symbols have been described, these are not considered to be limitations of the invention, as the methods described herein could be employed in various applications, as will be apparent from the description above. Additionally, although the method has been described above for use in decoding symbols, it will be apparent that similar methods can also be used in several imaging applications. It should be understood therefore that the methods and apparatuses described above are only exemplary and do not limit the scope of the invention, and that various modifications could be made by those skilled in the art that would fall under the scope of the invention. To apprise the public of the scope of this invention, the following claims are made: 

The invention claimed is:
 1. A method for analyzing image data of an encoded symbol acquired with a digital scanner, comprising the following steps: (a) applying a decoding algorithm to analyze a sub-sampled image data set of a field of view of the digital scanner; (b) if the data set is not decoded in step (a), applying a decoding algorithm to analyze a fully sampled portion of the field of view of the digital scanner; (c) if the data set is not decoded in step (b), applying a decoding algorithm to analyze a different fully sampled portion of the field of view of the digital scanner; and (d) repeating steps (b) and (c) until the encoded symbol is decoded.
 2. The method as defined in claim 1, wherein step (a) comprises analyzing a half sampled image data set of the field of view.
 3. The method as defined in claim 1, wherein step (a) comprises acquiring a high resolution image data set for the field of view and storing the high resolution image data set for processing.
 4. The method as defined in claim 1, wherein step (a) comprises acquiring a sub-sampled low resolution data set.
 5. The method as defined in claim 1, wherein steps (b) and (c) comprise acquiring a windowed high resolution data set.
 6. The method as defined in claim 1, wherein steps (a), (b), and (c) comprise evaluating the image data set to find a finder pattern in the encoded symbol.
 7. The method as defined in claim 1, wherein step (a) comprises sub-sampling the image data set at successively increasing sampling levels. 